package com.xnet.datahandler.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.xnet.datahandler.domain.ImportRule;
import com.xnet.datahandler.domain.MysqlDatabaseRepository;
import com.xnet.datahandler.service.DataHandlerService;

/**
* 数据处理服务
* @author 目田
* 2016年12月22日
*/
@Service
public class DataHandlerServiceImpl implements DataHandlerService {
	
	@Autowired
	private MysqlDatabaseRepository mysqlDatabaseRepository;

	@Override
	public List<Map<String, Object>> getTables() {
		return mysqlDatabaseRepository.getTables();
	}

	@Override
	public List<Map<String, Object>> getColumns(String tname) {
		return mysqlDatabaseRepository.getColumns(tname);
	}

	@Override
	public List<Map<String, Object>> getTableData(String tableName, Integer pageNo, Integer pageSize) {
		return mysqlDatabaseRepository.getTableData(tableName, pageNo, pageSize);
	}

	/**
	 * 》》》》》》》》》》此方法需要改造
	 * 将调用的importDataFromGroupBy方法中的查询和批量插入功能分开,在业务层控制生成，原子化DAO中的方法
	 * 这的事务不好使需要在找下原因
	 */
	@Transactional
	@Override
	public Integer importDataFromGroupBy(ImportRule rule) throws Exception {
		/**
		 * 》》》》》》》》》》此方法需要改造
		 * 将调用的importDataFromGroupBy方法中的查询和批量插入功能分开,在业务层控制生成，原子化DAO中的方法
		 */
		return mysqlDatabaseRepository.importDataFromGroupBy(rule);
	}

}
